package com.mdd.admin.validate;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import javax.validation.constraints.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Date;
import com.mdd.common.validator.annotation.IDMust;

/**
 * vip开通记录参数
 * @author DEREK
 */
@Data
@ApiModel("vip开通记录更新参数")
public class VipRecordUpdateValidate implements Serializable {

    private static final long serialVersionUID = 1L;

    @IDMust(message = "id参数必传且需大于0")
    @ApiModelProperty(value = "主键")
    private Integer id;

    @NotNull(message = "userId参数缺失")
    @ApiModelProperty(value = "用户ID")
    private Integer userId;

    @NotNull(message = "orderSn参数缺失")
    @ApiModelProperty(value = "订单编号")
    private String orderSn;

    @NotNull(message = "payWay参数缺失")
    @ApiModelProperty(value = "支付方式: [0=未知,  2=微信, 3=支付宝]")
    private Integer payWay;

    @NotNull(message = "relatedId参数缺失")
    @ApiModelProperty(value = "关联ID(订单类型对应主体ID)")
    private Integer relatedId;

    @NotNull(message = "orderAmount参数缺失")
    @ApiModelProperty(value = "订单金额")
    private BigDecimal orderAmount;

    @NotNull(message = "actualAmount参数缺失")
    @ApiModelProperty(value = "实际金额（针对提现扣除费率后的金额）")
    private BigDecimal actualAmount;

    @NotNull(message = "orderCreateTime参数缺失")
    @ApiModelProperty(value = "订单创建时间")
    private Long orderCreateTime;

    @NotNull(message = "orderUpdateTime参数缺失")
    @ApiModelProperty(value = "订单更新时间")
    private Long orderUpdateTime;

    @NotNull(message = "tradeNo参数缺失")
    @ApiModelProperty(value = "微信交易号")
    private String tradeNo;

    @NotNull(message = "orderStatus参数缺失")
    @ApiModelProperty(value = "订单状态(0:未支付1:已支付)")
    private Integer orderStatus;

    @NotNull(message = "remark参数缺失")
    @ApiModelProperty(value = "备注")
    private String remark;

    @NotNull(message = "extend参数缺失")
    @ApiModelProperty(value = "扩展字段")
    private String extend;

}
